//引入express模块
const express = require("express");
//引入数据库连接模块
const pool = require("../pool.js");
//创建路由器对象
const r = express.Router();

//1.用户注册接口(get /)
//接口地址：http://127.0.0.1:3000/v1/star/star_jbxx
//请求方式：get
r.get("/star_jbxx", (req, res, next) => {
  //2.1获取路由传递的参数

  //2.2执行SQL命令，查询编号对应的用户   10:15
  pool.query("select * from star_jbxx", (err, r) => {
    if (err) {
      //如果SQL命令中出现错误，则交给下一个错误处理中间件
      next(err);
      //阻止往后执行
      return;
    }
    console.log(JSON.stringify(r));
    //结果是对象，如果对象下的affectedRows对应的值为0说明删除失败，否则删除成功
    if (r.affectedRows === 0) {
      res.send({ code: 500, msg: "查询失败" });
    } else {
      res.send(r);
    }
  });
});

//1.用户注册接口(get /)
//接口地址：http://127.0.0.1:3000/v1/star/star_xxxx
//请求方式：get
r.get("/star_xxxx", (req, res, next) => {
  //2.1获取路由传递的参数

  //2.2执行SQL命令，查询编号对应的用户   10:15
  pool.query("select * from star_xxxx", (err, r) => {
    if (err) {
      //如果SQL命令中出现错误，则交给下一个错误处理中间件
      next(err);
      //阻止往后执行
      return;
    }
    console.log(r);
    //结果是对象，如果对象下的affectedRows对应的值为0说明删除失败，否则删除成功
    if (r.affectedRows === 0) {
      res.send({ code: 500, msg: "查询失败" });
    } else {
      res.send(r);
    }
  });
});

r.get("/star_xz/:id", (req, res, next) => {
  //2.1获取路由传递的参数
  var obj = req.params;
  //2.2执行SQL命令，查询编号对应的用户   10:15
  pool.query("select * from star_xz where xid=?", [obj.id], (err, r) => {
    if (err) {
      //如果SQL命令中出现错误，则交给下一个错误处理中间件
      next(err);
      //阻止往后执行
      return;
    }
    console.log(r);
    //结果是对象，如果对象下的affectedRows对应的值为0说明删除失败，否则删除成功
    if (r.affectedRows === 0) {
      res.send({ code: 500, msg: "查询失败" });
    } else {
      res.send(r);
    }
  });
});

r.get("/star_jbxx/:id", (req, res, next) => {
  //2.1获取路由传递的参数
  var obj = req.params;
  //2.2执行SQL命令，查询编号对应的用户   10:15
  pool.query("select * from star_jbxx where id=?", [obj.id], (err, r) => {
    if (err) {
      //如果SQL命令中出现错误，则交给下一个错误处理中间件
      next(err);
      //阻止往后执行
      return;
    }
    console.log(r);
    //结果是对象，如果对象下的affectedRows对应的值为0说明删除失败，否则删除成功
    if (r.affectedRows === 0) {
      res.send({ code: 500, msg: "查询失败" });
    } else {
      res.send(r);
    }
  });
});
//添加路由
//1.用户注册接口(post /reg)
//接口地址：http://127.0.0.1:3000/v1/star/reg
//请求方式：post
r.post('/reg', (req, res, next) => {
  //1.1获取post传递的参数
  var obj = req.body;
  // console.log(obj);
  //1.2验证手机格式是否正确，如果不正确，同时阻止往后执行
  //{code:405,msg:'手机格式错误'}
  // if (!/^1[3-9]\d{9}$/.test(obj.mphone)) {
  //   res.send({ code: 405, msg: '手机格式错误' });
  //   //阻止往后执行
  //   return;
  // } else {
  //   res.send({ code: 200, msg: '手机格式正确' });
  // }
  //1.2执行SQL命令，将数据插入到数据库
  pool.query('insert into star_user set?', [obj], (err, r) => {
    if (err) {
      //抛出错误，阻止后边程序的执行，用于调试
      //throw err;
      //交给下一个错误处理中间件，同时把错误信息传递过去
      next(err);
      //阻止往后执行
      return;
    }
    console.log(r);
    //成功以后，代表插入成功，再去响应
    res.send({ code: 200, msg: '注册成功' });
  });
});
// //2.删除用户接口(delete /编号)
// //接口地址：http://127.0.0.1:3000/v1/star/6
// //请求方式：delete
// r.delete('/:id',(req,res,next)=>{
//   //2.1获取路由传递的参数
//   var obj=req.params;
//   console.log(obj);
//   //2.2执行SQL命令，删除编号对应的用户   10:15
//   pool.query('delete from star_jbxx where uid=?',[obj.id],(err,r)=>{
//     if(err){
// 	  //如果SQL命令中出现错误，则交给下一个错误处理中间件
// 	  next(err);
// 	  //阻止往后执行
// 	  return;
// 	}
// 	console.log(r);
// 	//结果是对象，如果对象下的affectedRows对应的值为0说明删除失败，否则删除成功
// 	if(r.affectedRows===0){
// 	  res.send({code:500,msg:'删除失败'});
// 	}else{
// 	  res.send({code:200,msg:'删除成功'});
// 	}
//   });
// });
// //3.用户登录接口(post  /login)
// //接口地址：http://127.0.0.1:3000/v1/star/login
// //请求方式：post
// r.post('/login',(req,res,next)=>{
//   //3.1获取post传递的参数
//   var obj=req.body;
//   console.log(obj);
//   //3.2判断是否为空
//   if(!obj.uname){ //obj.uname===''
//     res.send({code:401,msg:'uname不能为空'});
// 	//阻止往后执行
// 	return;
//   }
//   //3.2执行SQL命令，查询数据表中是否有用户名和密码同时匹配的数据
//   pool.query('select * from star_jbxx where uname=? and upwd=?',[obj.uname,obj.upwd],(err,r)=>{
//     if(err){
// 	  //交给下一个错误处理中间件
// 	  next(err);
// 	  //阻止往后执行
// 	  return;
// 	}
// 	console.log(r);
// 	//SQL命令成功后再响应
// 	//如果结果是空数组说明登录失败，否则成功
// 	if(r.length===0){
// 	  res.send({code:500,msg:'登录失败'});
// 	}else{
// 	  res.send({code:200,msg:'登录成功'});
// 	}
//   });
// });
// //4.修改用户接口(put /)
// //接口地址：http://127.0.0.1:3000/v1/star/
// //请求方式：put
// r.put('/',(req,res,next)=>{
//   //4.1获取post传递的参数
//   var obj=req.body;
//   console.log(obj);
//   //4.2执行SQL命令
//   //update xz_user set email=?,phone=?,..  where uid=?
//   pool.query('update star_jbxx set? where id=?',[obj,obj.id],(err,r)=>{
//     if(err){
// 	  next(err);
// 	  return;
// 	}
// 	console.log(r);
// 	//SQL命令执行成功后再去响应
// 	//修改的结果是对象，如果对象下的affectedRows的值是0说明修改失败，否则成功
// 	if(r.affectedRows===0){
// 	  res.send({code:500,msg:'修改失败'});
// 	}else{
// 	  res.send({code:200,msg:'修改成功'});
// 	}
//   });
// });

//暴露出去
module.exports = r;
